package com.syh.jn.scm.service.api.supplier.base.downstream;

import cn.redscarf.commons.wrapper.Wrapper;
import com.syh.jn.scm.dto.supplier.base.downstream.DownstreamPriceTemplateMto;
import com.syh.jn.scm.dto.supplier.base.downstream.DownstreamPriceTemplateSto;
import com.syh.jn.scm.dto.supplier.base.downstream.DownstreamPriceTemplateVo;
import com.syh.jn.scm.dto.supplier.base.downstreamPriceTmplDetail.DownstreamPriceTmplDetailMto;
import com.syh.jn.scm.dto.supplier.base.downstreamPriceTmplDetail.DownstreamPriceTmplDetailSto;
import com.syh.jn.scm.dto.supplier.base.downstreamPriceTmplDetail.DownstreamPriceTmplDetailVo;
import com.syh.jn.scm.service.core.BaseService;

import java.util.List;

public interface DownstreamPriceTemplateService extends BaseService<DownstreamPriceTemplateSto, DownstreamPriceTemplateMto, DownstreamPriceTemplateVo, Long> {
  /**
   * 启用
   *
   * @param id
   */
  void enabled(Long id);

  /**
   * 启用
   *
   * @param id
   */
  void disabled(Long id);

  /**
   * 批量添加客户报价商品
   *
   * @param stoList
   */
  void batchSaveDownstreamPriceTmplDetail(List<DownstreamPriceTmplDetailSto> stoList);

  /**
   * 批量修改客户报价商品
   *
   * @param mtoList
   */
  void batchUpdateDownstreamPriceTmplDetail(List<DownstreamPriceTmplDetailMto> mtoList);

  /**
   * 删除客户报价商品
   *
   * @param id
   */
  void deleteDownstreamPriceTmplDetail(Long id);

  /**
   * 根据条件查询列表
   *
   * @param wrapper
   * @param startRow
   * @param count
   * @return
   */
  List<DownstreamPriceTmplDetailVo> findQuotationListPage(Wrapper wrapper, Integer startRow, Integer count);

  /**
   * 根据商品id和模板拿到报价商品
   *
   * @param id
   * @param templateId
   * @return
   */
  Boolean getByGoodsId(Long id, Long templateId);
}
